@@ -5,7 +5,7 @@ |
||
5 | 5 |
<GradleProjectSettings> |
6 | 6 |
<option name="distributionType" value="LOCAL" /> |
7 | 7 |
<option name="externalProjectPath" value="$PROJECT_DIR$" /> |
8 |
- <option name="gradleHome" value="C:\Android\Studio\gradle\gradle-2.14.1" /> |
|
8 |
+ <option name="gradleHome" value="C:/Android/gradle-3.3" /> |
|
9 | 9 |
<option name="modules"> |
10 | 10 |
<set> |
11 | 11 |
<option value="$PROJECT_DIR$" /> |
@@ -3,13 +3,10 @@ |
||
3 | 3 |
<component name="ProjectModuleManager"> |
4 | 4 |
<modules> |
5 | 5 |
<module fileurl="file://$PROJECT_DIR$/app/app.iml" filepath="$PROJECT_DIR$/app/app.iml" /> |
6 |
- <module fileurl="file://$PROJECT_DIR$/app/app.iml" filepath="$PROJECT_DIR$/app/app.iml" /> |
|
7 |
- <module fileurl="file://$PROJECT_DIR$/common/common.iml" filepath="$PROJECT_DIR$/common/common.iml" /> |
|
8 | 6 |
<module fileurl="file://$PROJECT_DIR$/common/common.iml" filepath="$PROJECT_DIR$/common/common.iml" /> |
9 | 7 |
<module fileurl="file://$PROJECT_DIR$/lensman.iml" filepath="$PROJECT_DIR$/lensman.iml" /> |
10 | 8 |
<module fileurl="file://$PROJECT_DIR$/lensman_ssh.iml" filepath="$PROJECT_DIR$/lensman_ssh.iml" /> |
11 | 9 |
<module fileurl="file://$PROJECT_DIR$/views/views.iml" filepath="$PROJECT_DIR$/views/views.iml" /> |
12 |
- <module fileurl="file://$PROJECT_DIR$/views/views.iml" filepath="$PROJECT_DIR$/views/views.iml" /> |
|
13 | 10 |
</modules> |
14 | 11 |
</component> |
15 | 12 |
</project> |
@@ -3,7 +3,7 @@ apply plugin: 'android-apt' |
||
3 | 3 |
|
4 | 4 |
android { |
5 | 5 |
compileSdkVersion 24 |
6 |
- buildToolsVersion "24.0.3" |
|
6 |
+ buildToolsVersion "25.0.2" |
|
7 | 7 |
|
8 | 8 |
dexOptions { |
9 | 9 |
preDexLibraries false |
@@ -20,10 +20,12 @@ android { |
||
20 | 20 |
applicationId "ai.pai.lensman" |
21 | 21 |
minSdkVersion 14 |
22 | 22 |
targetSdkVersion 21 |
23 |
- versionCode 1009 |
|
24 |
- versionName "1.0.09" |
|
23 |
+ versionCode 1010 |
|
24 |
+ versionName "1.0.10" |
|
25 | 25 |
buildConfigField "boolean", "isTestMode", "true" |
26 |
+ manifestPlaceholders = [CHANNEL_NAME: "guanwang"] |
|
26 | 27 |
} |
28 |
+ |
|
27 | 29 |
signingConfigs { |
28 | 30 |
releaseConfig { |
29 | 31 |
storeFile file("paiai.keystore") |
@@ -33,6 +35,16 @@ android { |
||
33 | 35 |
} |
34 | 36 |
} |
35 | 37 |
|
38 |
+ productFlavors.all { |
|
39 |
+ flavor->flavor.manifestPlaceholders=[CHANNEL_NAME:name] |
|
40 |
+ } |
|
41 |
+ |
|
42 |
+ productFlavors { |
|
43 |
+ guanwang { |
|
44 |
+ |
|
45 |
+ } |
|
46 |
+ } |
|
47 |
+ |
|
36 | 48 |
buildTypes { |
37 | 49 |
release { |
38 | 50 |
minifyEnabled true |
@@ -72,4 +84,5 @@ dependencies { |
||
72 | 84 |
compile files('libs/commons-lang-2.6.jar') |
73 | 85 |
compile files('libs/gprintersdkv2.1.4.jar') |
74 | 86 |
compile files('libs/jcc-bate-0.7.3.jar') |
87 |
+ compile 'com.umeng.analytics:analytics:latest.integration' |
|
75 | 88 |
} |
@@ -27,6 +27,15 @@ |
||
27 | 27 |
android:largeHeap="true" |
28 | 28 |
android:theme="@style/AppTheme.NoActionBar"> |
29 | 29 |
|
30 |
+ |
|
31 |
+ <meta-data |
|
32 |
+ android:name="UMENG_CHANNEL" |
|
33 |
+ android:value="${CHANNEL_NAME}" /> |
|
34 |
+ |
|
35 |
+ <meta-data |
|
36 |
+ android:name="UMENG_APPKEY" |
|
37 |
+ android:value="58bbdceda3251102a9000251"></meta-data> |
|
38 |
+ |
|
30 | 39 |
<activity |
31 | 40 |
android:name=".splash.SplashActivity" |
32 | 41 |
android:configChanges="keyboardHidden|orientation|screenSize" |
@@ -23,6 +23,12 @@ public class AboutUsActivity extends BaseActivity implements View.OnClickListene |
||
23 | 23 |
SystemUtils.setImmerseLayout(this,findViewById(R.id.title_layout)); |
24 | 24 |
TextView title = (TextView)findViewById(R.id.title_bar_middle_txt); |
25 | 25 |
title.setText(R.string.about_us); |
26 |
+ TextView curVersionText = (TextView)findViewById(R.id.tv_cur_version); |
|
27 |
+ try { |
|
28 |
+ curVersionText.setText( "v"+getPackageManager().getPackageInfo(getPackageName(), 0).versionName); |
|
29 |
+ }catch (Exception e){ |
|
30 |
+ e.printStackTrace(); |
|
31 |
+ } |
|
26 | 32 |
findViewById(R.id.title_bar_back_layout).setOnClickListener(this); |
27 | 33 |
findViewById(R.id.title_bar_option_layout).setVisibility(View.INVISIBLE); |
28 | 34 |
findViewById(R.id.layout_about_declare).setOnClickListener(this); |
@@ -10,6 +10,7 @@ import com.android.views.swipebacklayout.SwipeBackActivityBase; |
||
10 | 10 |
import com.android.views.swipebacklayout.SwipeBackActivityHelper; |
11 | 11 |
import com.android.views.swipebacklayout.SwipeBackLayout; |
12 | 12 |
import com.android.views.swipebacklayout.Utils; |
13 |
+import com.umeng.analytics.MobclickAgent; |
|
13 | 14 |
|
14 | 15 |
import ai.pai.lensman.R; |
15 | 16 |
import butterknife.Unbinder; |
@@ -43,6 +44,18 @@ public class BaseActivity extends AppCompatActivity implements SwipeBackActivity |
||
43 | 44 |
} |
44 | 45 |
|
45 | 46 |
@Override |
47 |
+ protected void onResume() { |
|
48 |
+ super.onResume(); |
|
49 |
+ MobclickAgent.onResume(this); |
|
50 |
+ } |
|
51 |
+ |
|
52 |
+ @Override |
|
53 |
+ protected void onPause() { |
|
54 |
+ super.onPause(); |
|
55 |
+ MobclickAgent.onPause(this); |
|
56 |
+ } |
|
57 |
+ |
|
58 |
+ @Override |
|
46 | 59 |
protected void onDestroy() { |
47 | 60 |
super.onDestroy(); |
48 | 61 |
if(unbinder!=null){ |
@@ -11,11 +11,14 @@ import android.widget.TextSwitcher; |
||
11 | 11 |
import android.widget.TextView; |
12 | 12 |
import android.widget.ViewSwitcher; |
13 | 13 |
|
14 |
+import com.umeng.analytics.MobclickAgent; |
|
15 |
+ |
|
14 | 16 |
import ai.pai.lensman.R; |
15 | 17 |
import ai.pai.lensman.activities.WebViewActivity; |
16 | 18 |
import ai.pai.lensman.base.BaseActivity; |
17 | 19 |
import ai.pai.lensman.bean.BriefsBean; |
18 | 20 |
import ai.pai.lensman.settings.SettingsActivity; |
21 |
+import ai.pai.lensman.utils.UmengEvent; |
|
19 | 22 |
import ai.pai.lensman.utils.UrlContainer; |
20 | 23 |
import butterknife.BindView; |
21 | 24 |
import butterknife.ButterKnife; |
@@ -73,6 +76,7 @@ public class BriefsActivity extends BaseActivity implements BriefsContract.View{ |
||
73 | 76 |
|
74 | 77 |
@OnClick(R.id.iv_settings) |
75 | 78 |
void goToSettingPage(){ |
79 |
+ MobclickAgent.onEvent(this, UmengEvent.brief_setting_btn_click); |
|
76 | 80 |
startActivity(new Intent(this, SettingsActivity.class)); |
77 | 81 |
} |
78 | 82 |
|
@@ -11,6 +11,7 @@ import android.widget.TextView; |
||
11 | 11 |
import android.widget.Toast; |
12 | 12 |
|
13 | 13 |
import com.android.common.utils.LogHelper; |
14 |
+import com.umeng.analytics.MobclickAgent; |
|
14 | 15 |
|
15 | 16 |
import java.util.ArrayList; |
16 | 17 |
|
@@ -19,6 +20,7 @@ import ai.pai.lensman.base.BaseActivity; |
||
19 | 20 |
import ai.pai.lensman.bean.SessionBean; |
20 | 21 |
import ai.pai.lensman.briefs.BriefsActivity; |
21 | 22 |
import ai.pai.lensman.session.SessionActivity; |
23 |
+import ai.pai.lensman.utils.UmengEvent; |
|
22 | 24 |
import butterknife.BindView; |
23 | 25 |
import butterknife.ButterKnife; |
24 | 26 |
import butterknife.OnClick; |
@@ -64,12 +66,14 @@ public class MainActivity extends BaseActivity implements MainContract.View { |
||
64 | 66 |
|
65 | 67 |
@OnClick(R.id.iv_briefs) |
66 | 68 |
void jumpToBriefs(){ |
69 |
+ MobclickAgent.onEvent(this, UmengEvent.home_brief_btn_click); |
|
67 | 70 |
startActivity(new Intent(this, BriefsActivity.class)); |
68 | 71 |
} |
69 | 72 |
|
70 | 73 |
@OnClick(R.id.iv_add_session) |
71 | 74 |
void jumpToNewSession(){ |
72 | 75 |
LogHelper.d(TAG,"jumpToNewSession"); |
76 |
+ MobclickAgent.onEvent(this, UmengEvent.home_add_session_btn_click); |
|
73 | 77 |
jumpToSelectedSession( presenter.createNewSession()); |
74 | 78 |
} |
75 | 79 |
|
@@ -15,6 +15,7 @@ import android.widget.Toast; |
||
15 | 15 |
|
16 | 16 |
import com.android.common.utils.LogHelper; |
17 | 17 |
import com.android.common.utils.NetworkUtil; |
18 |
+import com.umeng.analytics.MobclickAgent; |
|
18 | 19 |
|
19 | 20 |
import java.io.File; |
20 | 21 |
|
@@ -25,6 +26,7 @@ import ai.pai.lensman.bean.PhotoBean; |
||
25 | 26 |
import ai.pai.lensman.bean.SessionBean; |
26 | 27 |
import ai.pai.lensman.printer.PrinterSettingActivity; |
27 | 28 |
import ai.pai.lensman.qrcode.QRCaptureActivity; |
29 |
+import ai.pai.lensman.utils.UmengEvent; |
|
28 | 30 |
import butterknife.BindView; |
29 | 31 |
import butterknife.ButterKnife; |
30 | 32 |
import butterknife.OnClick; |
@@ -111,12 +113,15 @@ public class SessionActivity extends BaseActivity implements SessionContract.Vie |
||
111 | 113 |
|
112 | 114 |
@OnClick(R.id.iv_scan) |
113 | 115 |
void scanToFetchSessionQR(){ |
116 |
+ MobclickAgent.onEvent(this, UmengEvent.session_scan_qr_btn_click); |
|
114 | 117 |
Intent intent = new Intent(SessionActivity.this, QRCaptureActivity.class); |
115 | 118 |
startActivityForResult(intent, JOIN_REQUEST_CODE); |
119 |
+ |
|
116 | 120 |
} |
117 | 121 |
|
118 | 122 |
@OnClick(R.id.iv_qrcode) |
119 | 123 |
void showQRCodeForSession(){ |
124 |
+ MobclickAgent.onEvent(this, UmengEvent.session_view_qr_btn_click); |
|
120 | 125 |
Intent intent = new Intent(this,SessionQRCodeActivity.class); |
121 | 126 |
intent.putExtra("qrcode",sessionBean.sessionId); |
122 | 127 |
startActivity(intent); |
@@ -130,6 +135,7 @@ public class SessionActivity extends BaseActivity implements SessionContract.Vie |
||
130 | 135 |
|
131 | 136 |
@OnClick(R.id.btn_session_complete) |
132 | 137 |
void onSessionComplete(){ |
138 |
+ MobclickAgent.onEvent(this, UmengEvent.session_finish_btn_click); |
|
133 | 139 |
presenter.stop(); |
134 | 140 |
finish(); |
135 | 141 |
} |
@@ -0,0 +1,14 @@ |
||
1 |
+package ai.pai.lensman.utils; |
|
2 |
+ |
|
3 |
+/** |
|
4 |
+ * Created by chengzhenyu on 2017/3/5. |
|
5 |
+ */ |
|
6 |
+ |
|
7 |
+public class UmengEvent { |
|
8 |
+ public static final String home_add_session_btn_click = "home_add_session_btn_click"; |
|
9 |
+ public static final String home_brief_btn_click ="home_brief_btn_click"; |
|
10 |
+ public static final String session_finish_btn_click = "session_finish_btn_click"; |
|
11 |
+ public static final String brief_setting_btn_click ="brief_setting_btn_click"; |
|
12 |
+ public static final String session_scan_qr_btn_click = "session_scan_qr_btn_click"; |
|
13 |
+ public static final String session_view_qr_btn_click ="session_view_qr_btn_click"; |
|
14 |
+} |
@@ -49,6 +49,16 @@ |
||
49 | 49 |
android:textColor="@color/dark_grey" |
50 | 50 |
android:layout_marginLeft="10dp"/> |
51 | 51 |
|
52 |
+ <TextView |
|
53 |
+ android:id="@+id/tv_cur_version" |
|
54 |
+ android:layout_width="0dp" |
|
55 |
+ android:layout_weight="1" |
|
56 |
+ android:layout_height="wrap_content" |
|
57 |
+ android:textSize="14sp" |
|
58 |
+ android:gravity="right" |
|
59 |
+ android:textColor="@color/grey" |
|
60 |
+ android:layout_marginRight="10dp"/> |
|
61 |
+ |
|
52 | 62 |
<ImageView |
53 | 63 |
android:layout_width="wrap_content" |
54 | 64 |
android:layout_height="wrap_content" |
@@ -5,7 +5,7 @@ buildscript { |
||
5 | 5 |
jcenter() |
6 | 6 |
} |
7 | 7 |
dependencies { |
8 |
- classpath 'com.android.tools.build:gradle:2.2.3' |
|
8 |
+ classpath 'com.android.tools.build:gradle:2.3.0' |
|
9 | 9 |
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' |
10 | 10 |
// NOTE: Do not place your application dependencies here; they belong |
11 | 11 |
// in the individual module build.gradle files |
@@ -2,11 +2,11 @@ apply plugin: 'com.android.library' |
||
2 | 2 |
|
3 | 3 |
android { |
4 | 4 |
compileSdkVersion 24 |
5 |
- buildToolsVersion "24.0.3" |
|
5 |
+ buildToolsVersion "25.0.2" |
|
6 | 6 |
|
7 | 7 |
defaultConfig { |
8 | 8 |
minSdkVersion 14 |
9 |
- targetSdkVersion 23 |
|
9 |
+ targetSdkVersion 21 |
|
10 | 10 |
versionCode 1 |
11 | 11 |
versionName "1.0" |
12 | 12 |
} |
@@ -1,6 +1,6 @@ |
||
1 |
-#Thu Aug 18 08:08:09 CST 2016 |
|
1 |
+#Sun Mar 05 10:19:46 CST 2017 |
|
2 | 2 |
distributionBase=GRADLE_USER_HOME |
3 | 3 |
distributionPath=wrapper/dists |
4 | 4 |
zipStoreBase=GRADLE_USER_HOME |
5 | 5 |
zipStorePath=wrapper/dists |
6 |
-distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip |
|
6 |
+distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip |
@@ -2,11 +2,11 @@ apply plugin: 'com.android.library' |
||
2 | 2 |
|
3 | 3 |
android { |
4 | 4 |
compileSdkVersion 24 |
5 |
- buildToolsVersion "24.0.3" |
|
5 |
+ buildToolsVersion "25.0.2" |
|
6 | 6 |
|
7 | 7 |
defaultConfig { |
8 | 8 |
minSdkVersion 14 |
9 |
- targetSdkVersion 23 |
|
9 |
+ targetSdkVersion 21 |
|
10 | 10 |
versionCode 1 |
11 | 11 |
versionName "1.0" |
12 | 12 |
} |